Provides methods and events that are required for LiveLinq functionality, indexing and live views.

Namespace:  C1.LiveLinq
Assembly:  C1.LiveLinq (in C1.LiveLinq.dll)

Syntax

C#
public interface IObservableSource<T> : IEnumerable<T>, 
	IEnumerable
Visual Basic
Public Interface IObservableSource(Of T) _
	Inherits IEnumerable(Of T), IEnumerable

Type Parameters

T
The type of the elements in the collection.

Remarks

Indexing and live view functionality is available for any collection that supports change notifications necessary for maintaining indexes and live views, that is, fires events when an item is added to or removed from the collection and when a property of the item changes. So, the members of this interface are mostly concerned with providing such notifications.

Classes implementing this interface usually also implement IIndexedSource<(Of <(<'T>)>)>.

Both these interfaces are implemented by all main LiveLinq collection classes: IndexedCollection<(Of <(<'T>)>)>, IndexedDataTable<(Of <(<'TRow>)>)>, View<(Of <(<'T>)>)>.

You need to implement this interface only if you want to define your own indexable collection classes and then only if they don't inherit from IndexedCollection<(Of <(<'T>)>)>, see LiveLinq to Objects: IndexedCollection(T) and other collection classes.

See Also